package com.ninong.ker.admin.service;

import com.ninong.ker.admin.domain.FwGroupData;
import com.ninong.ker.admin.rest.vo.HistoricProcessInstanceVO;
import com.ninong.ker.admin.service.dto.ActTaskDTO;
import com.ninong.ker.admin.service.dto.CompleteDTO;
import org.activiti.engine.history.HistoricActivityInstance;
import org.activiti.engine.history.HistoricProcessInstance;

import java.util.List;
import java.util.Map;

/**
 * @author jmz
 */
public interface TaskService {

    /**
     * 查看我的待办
     * @param dto 任务对象
     * @param token token
     * @return
     */
    Map<String,Object> listPage(ActTaskDTO dto,String token);

    /**
     * 新增任务
     * @param title 任务标题
     * @param entity 数据对象
     * @return
     */
    Map<String, Object> insert(String title, FwGroupData entity);

    /**
     * 审批
     * @param variables
     * @param token
     */
    void applyTask(Map<String, Object> variables,String token);

    /**
     * 根据instanceId查询任务审批记录
     * @param instanceId
     * @return
     */
    List<HistoricProcessInstanceVO> listTaskHistorical(String instanceId);

    /**
     * 拒绝任务
     * @param variables
     * @param token
     */
    void rejectTask(Map<String, Object> variables, String token);

    /**
     * 驳回任务
     * @param taskId
     */
    void taskRollBack(String taskId);
}
